<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Foreword about abstraction: GNOME Data Access 5 manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GNOME Data Access 5 manual">
<link rel="up" href="part_begin.html" title="Part I. Getting started">
<link rel="prev" href="architecture.html" title="Architecture">
<link rel="next" href="null_handling.html" title="NULL handling when using variables">
<meta name="generator" content="GTK-Doc V1.32 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts"></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="part_begin.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="architecture.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="null_handling.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="chapter">
<div class="titlepage"><div><div><h2 class="title">
<a name="id-1.2.5"></a>Foreword about abstraction</h2></div></div></div>
<div class="toc"><dl class="toc">
<dt><span class="sect1"><a href="ch04.html#placeholders">Variables syntax in SQL</a></span></dt>
<dt><span class="sect1"><a href="null_handling.html">NULL handling when using variables</a></span></dt>
<dt><span class="sect1"><a href="gen_sql_identifiers.html">SQL identifiers</a></span></dt>
<dt><span class="sect1"><a href="gen_blobs.html">Binary large objects (BLOBs)</a></span></dt>
</dl></div>
<p>
	<span class="application">Libgda</span> aims both at making it easier to use databases and, for applications written using it, 
	at making it easier to switch to a different database or to to be able to use different types of databases
	with a minimum or no code modifications. To achieve the 2nd goal, <span class="application">Libgda</span> proposes an abstraction of
	most of database's engine features, which has to be understood to write portable code.
      </p>
<div class="sect1">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="placeholders"></a>Variables syntax in SQL</h2></div></div></div>
<p>
	  Each database engine has its own way of specifying variables (i.e. place holders) in SQL code (for example:
	  <code class="code">$&lt;number&gt;</code>, <code class="code">:&lt;name&gt;</code>, <code class="code">?&lt;number&gt;</code>, or <code class="code">?</code>).
	  <span class="application">Libgda</span> has specified yet another format for variables which can be used with all the databases and which
	  has the following advantages:
	  </p>
<div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; ">
<li class="listitem"><p>allow to specify a name (and optionally a description)</p></li>
<li class="listitem"><p>allow to specify a type, see <a class="link" href="libgda-5.0-Utility-functions.html#gda-g-type-from-string" title="gda_g_type_from_string ()">gda_g_type_from_string()</a></p></li>
<li class="listitem"><p>allow to specify if the variable can be NULL</p></li>
</ul></div>
<p>
	</p>
<p>For more information, refer to the <a class="link" href="GdaSqlParser.html#GdaSqlParser.description" title="Description">GdaSqlParser object's documentation</a></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.32</div>
</body>
</html>